使用 Go-micro 构建微服务-1 Quick Start
December / 27 / 2019
前提
了解 Golang 语法
概览
本章将演示实现一个 Tiny 用户服务
包含内容
使用 Go-micro/micro ,使用 ProtoBuf 构建 gRPC 服务,读取本地配置文件示例。
不包含内容
配置中心,日志持久化,扩容,熔断,降级,容错,健康检查,链路追踪,应用容器化。
知识地图
Golang
gRPC
Etcd
Mysql 5.7
Docker
Go-micro/Micro
约定
Interface
命名
Prefix: I Name Style: {Prefix}+{Name} e.g.
Model
Import 别名
Suffix: Model Name Style {name}+{Suffix} e.g.
Proto
Import 别名
Suffix: Proto Name Style {name}+{Suffix}
本文开发环境
准备工作
Golang
安装
Document/Install Document/zh-cn/Install
gRPC
安装
Docker
安装
Micro
安装
请使用 Go modules ,环境变量 GO111MODULE=on
Mysql
安装
这里我们给出一个简单的 docker-compose.yaml
同一目录下创建 conf ,db 文件夹,以及/conf/my.cnf 文件
/conf/my.cnf demo
运行
进入 mysql e.g.
Etcd
安装
这里我们给出一个简单的 docker-compose.yaml
运行
验证
开始
预期
服务层 user-srv 实现 QueryUserByName
相关阅读
micro new command Document/zh-cn (推荐,较于英文文档示例较多) Document
使用脚手架生成
+新增 basic 目录 +新增 conf 目录 +新增 model 目录 -删除 subscribe 目录
User Proto
相关阅读
proto buffers overview gRPC getting started with go
Code
/proto/user/user.proto
Generate gRPC code
相关阅读
DB table
Insert sth
By command line
Or GUI
Basic
读取配置文件
相关阅读
document/config document/zh-cn/config
Code
https://github.com/WenyXu/Go-mini-kit/tree/master/user-srv/basic
Conf
配置文件
Files
https://github.com/WenyXu/Go-mini-kit/tree/master/user-srv/conf
User Model
/model/boot.go
/model/user/user.go
Handler
handler/user.go
Main.go
/main.go
Run
Test gRPC
相关阅读
document/micro-cli document/zh-cn/micro-cli ** in this case {Server Name} : im.terminal.go.srv.user